package com.gameserver.controllers.battleship;

import com.gameserver.models.dto.DataCollectionDto;
import com.gameserver.models.dto.GameDataDto;

/**
 * Restful webservices for game interaction
 * Pretty rough at the moment
 * @author geoman
 *
 */
public interface GameController {	
	/**
	 * Used to either find a game or view games currently participating in
	 * @param playerId optional if you want to find a public game or find your own
	 * @return collection of game
	 */
	public DataCollectionDto getGames(String playerId);
	/**
	 * Used to create a new game. Right now just an example
	 * @param playerId
	 * @return 
	 */
	public GameDataDto createGame(String player1Id, String player2Id); 
	/**
	 * Used to get specific game information, which may include game status, participates, etc
	 * @param id Id of the game
	 * @return 
	 */
	public GameDataDto getGame(String id);
	/**
	 * Used to update game data
	 * @param id Id of the game
	 * @param data mapped game data object
	 * @return
	 */
	public GameDataDto updateGame(String id, GameDataDto data);
}
